package com.jcfk.eam.domain.dto.base;


import com.jcfk.eam.domain.dto.main.EamInspectionPlanPersonDTO;
import com.jcfk.system.domain.dto.BaseDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.util.Date;
import java.util.List;

/**
 * 计划维修明细
 *
 * @author awei
 * @email 522891237@gqq.com
 * @date 2024-08-21
 */
@Data
public class EamRepairPlanDetailDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 数据版本号
     */
    private Long version;

    /**
     * 计划id
     */
    @Length(max = 32, message = "计划id长度不能超过32")
    private String planId;

    /**
     * 资产id
     */
    @Length(max = 32, message = "资产id长度不能超过32")
    private String assetId;

    /**
     * 计划开始时间
     */
    private Date planStartTime;

    /**
     * 计划时间
     */
    @Length(max = 32, message = "计划时间长度不能超过32")
    private String planHour;

    /**
     * 备注
     */
    @Length(max = 255, message = "备注长度不能超过255")
    private String remarks;

    /**
     * 创建人名
     */
    @Length(max = 50, message = "创建人名长度不能超过50")
    private String createdUserName;

    /**
     * 更新人名
     */
    @Length(max = 50, message = "更新人名长度不能超过50")
    private String lastUpdatedUserName;

    /**
     * 是否停用
     */
    private Integer enabled;

    /**
     * 是否删除
     */
    private Integer deleted;


    /**
     * 批量添加子表
     */
    private List<EamRepairPlanDetailItemDTO> details;
    private List<EamRepairPlanDetailImgDTO> images;

    /**
     * 批量删除id
     */
    private List<String> ids;


    /**
     * 资产编号
     */
    @Length(max = 32, message = "资产编号长度不能超过32")
    private String assetCode;

    /**
     * 资产名称
     */
    @Length(max = 50, message = "资产名称长度不能超过50")
    private String assetName;

    /**
     * 资产管理人主键
     */
    @Length(max = 32, message = "资产管理人主键长度不能超过32")
    private String assetManagerId;

    /**
     * 资产管理人
     */
    @Length(max = 50, message = "资产管理人长度不能超过50")
    private String assetManagerName;

    /**
     * 使用部门主键
     */
    @Length(max = 32, message = "使用部门主键长度不能超过32")
    private String usingDepartmentId;

    @Length(max = 50, message = "使用部门长度不能超过50")
    private String usingDepartmentName;


    /**
     * 位置主键
     */
    @Length(max = 32, message = "位置主键长度不能超过32")
    private String locationId;

    /**
     * 位置
     */
    @Length(max = 50, message = "位置长度不能超过50")
    private String locationName;

    /**
     * 资产类型编号
     */
    @Length(max = 20, message = "资产类型编号长度不能超过20")
    private String assetTypeCode;

    /**
     * 资产类型名称
     */
    @Length(max = 50, message = "资产类型名称长度不能超过50")
    private String assetTypeName;
    private String assetBrandName;
    private String assetModelNo;

    /**
     * 维修类型
     */
    private String repairType;

    /**
     * 维修班组id
     */
    private String executeTeamId;
    /**
     * 维修班组名称
     */
    private String executeTeamName;
    /**
     * 维修要求
     */
    private String repairRequirement;

    /**
     * 维修人员
     */
    private List<EamInspectionPlanPersonDTO> executeUsers;

    /**
     * 维修类型内容列表
     */
    private List<EamRepairPlanDetailContentDTO> types;
    /**
     * 维修人员Id
     */
    private List<String> executeUserIds;


}
